package com.itheima.service.db.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.itheima.domain.db.soul.SoulUserLock;
import com.itheima.mapper.SoulUserLockMapper;
import com.itheima.service.db.SoulUserLockService;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.beans.factory.annotation.Autowired;

@Service
public class SoulUserLockServiceImpl implements SoulUserLockService {

    @Autowired
    SoulUserLockMapper soulUserLockMapper;



    @Override
    public SoulUserLock findByUserId(Long userId, Long soulExamId) {
        QueryWrapper<SoulUserLock> qw = new QueryWrapper<>();
        qw.eq("user_id",userId);
        qw.eq("soul_exam_id",soulExamId);

        return soulUserLockMapper.selectOne(qw);
    }

    @Override
    public void saveOrUpdate(Long userId, Long soulExamId) {
        QueryWrapper<SoulUserLock> qw = new QueryWrapper<>();
        qw.eq("user_id",userId);
        qw.eq("soul_exam_id",soulExamId);

        SoulUserLock soulUserLock = soulUserLockMapper.selectOne(qw);

        if (soulUserLock == null) {
            soulUserLock = new SoulUserLock();
            soulUserLock.setUserId(userId);
            soulUserLock.setSoulExamId(soulExamId);
            soulUserLock.setIsLock(0);

            soulUserLockMapper.insert(soulUserLock);
        }else{
            soulUserLock.setIsLock(0);
            soulUserLockMapper.updateById(soulUserLock);
        }


    }
}
